class Person {
    // 只读类型只能在 constructor 里面进行初始化，后期一律不可改
    public readonly _name: string

    constructor(name: string) {
        this._name = name
    }
}

const person = new Person('jspang')
// person.name = 'j'
console.log(person._name)

// 抽象类表示里面的东西都是待实现的，用继承的方式实现
abstract class Girl {
    // 抽象方法，继承的类都需要实现这个方法
    abstract skill()
}

class Waiter extends Girl {
    skill() {
        console.log('大爷儿，请喝水！')
    }
}
class BaseTeacher extends Girl {
    skill() {
        console.log('大爷儿，来个泰式按摩吧！')
    }
}
class SeniorTeacher extends Girl {
    skill() {
        console.log('大爷儿，来个SPA全身按摩吧！')
    }
}

const waiter = new Waiter()
waiter.skill()
